<?php
////////////////////////////////////////////////////////////////////////////
//                                                                        //
// NOTICE OF COPYRIGHT                                                    //
//                                                                        //
// Dean`s Office for Moodle                                               //
// Электронный деканат                                                    //
// <http://deansoffice.ru/>                                               //
//                                                                        //
// Copyright (C) 2008-2999  Alex Djachenko (Алексей Дьяченко)             //
// alex-pub@my-site.ru                                                    //
// Copyright (C) 2008-2999  Evgenij Cigancov (Евгений Цыганцов)           //
// Copyright (C) 2008-2999  Ilia Smirnov (Илья Смирнов)                   // 
// Copyright (C) 2008-2999  Mariya Rojayskaya (Мария Рожайская)           // 
//                                                                        //
// This program is free software: you can redistribute it and/or modify   //
// it under the terms of the GNU General Public License as published by   //
// the Free Software Foundation, either version 3 of the Licensen.        //
//                                                                        //
// This program is distributed in the hope that it will be useful,        //
// but WITHOUT ANY WARRANTY; without even the implied warranty of         //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          //
// GNU General Public License for more details.                           //
//                                                                        //
// You should have received a copy of the GNU General Public License      //
// along with this program.  If not, see <http://www.gnu.org/licenses/>.  //
//                                                                        //
////////////////////////////////////////////////////////////////////////////

// Подключаем библиотеки
require_once('lib.php');
// подключаем стили
echo '<link rel="stylesheet" type="text/css" href="calendar.css">';
// Подключаем YAHOO-библиотеки для работы с календарем
$PAGE->requires->yui2_lib('yahoo');
$PAGE->requires->yui2_lib('dom');
$PAGE->requires->yui2_lib('event');
$PAGE->requires->yui2_lib('yahoo-dom-event');
$PAGE->requires->yui2_lib('calendar');    
// подключаем библеиотеки и стили
$DOF->modlib('widgets')->js_init('show_hide');
$DOF->modlib('nvg')->add_css('im', 'recordbook', '/style.css');
                 
// создаем объект отвечающий за отрисовку дневника
$recordbook    = new dof_im_recordbook_recordbook($DOF);
$programmsbcid = required_param('programmsbcid', PARAM_INT);
// получаем метку времени выбранного в календаре дня
$daytime       = optional_param('time', time(), PARAM_INT);
// высчитываем 12:00 выбранного дня
$weekbegin     = dof_make_timestamp(dof_userdate($daytime,'%Y'),dof_userdate($daytime,'%m'),dof_userdate($daytime,'%d'),12, 0, 0);
$contractid = $DOF->storage('programmsbcs')->get_field($programmsbcid, 'contractid');
$studentid  = $DOF->storage('contracts')->get_field($contractid, 'studentid');

//добавление уровня навигации, ведущего на страницу дневника
$DOF->modlib('nvg')->add_level($DOF->get_string('title', 'recordbook'), 
    $DOF->url_im('recordbook','/index.php?clientid='.$studentid,$addvars));
//вывод на экран
$DOF->modlib('nvg')->add_level($DOF->get_string('lesson_schedule', 'recordbook'), 
    $DOF->url_im('recordbook', '/recordbook.php', array_merge(array('programmsbcid' => $programmsbcid),$addvars)));
    
    
// определим порядковый номер недели
// функция date дает номер дня недели по стандарту ISO 8601,
// где 1 неделя года начинается с понедельника(см справку по функции),
// а в журнале КАЛЕНДАРЬ работает по иному алгоритму 
//    пример    w1    365 366 1 2 3 4 5   - ТУТ насильно ставим 1(вместо 52 по ISO)
//              w2    6    7 ...          - ТУТ ставим 2 (вместо 1(по ISO))
$numweek = dof_userdate($daytime,'%W');
// текущиё год
$year = dof_userdate($daytime,'%Y');
// получим дату 1 января - день недели, понедельник = 1(0 - воскресение) 
$datefirst = dof_userdate(mktime(0, 0, 0, 1, 1, $year),"%w");
if ( $datefirst != 1 )
{// не понедельник - делаем корректировку по неделям
    if ( $numweek == 52 )
    {// меняем на 1
        $numweek = 1;
    }else 
    {// ко всем остальным прибавляем единицу(1)
        $numweek = $numweek + 1;
    }
}

// ОПРЕДЕЛИМ, дни, которые будем выделять другим цветом
// чтоб не наплодить кучу классов(стилей), вычитываем текущий месяц и делаем только на него
// получим список уроков
$list = $recordbook->get_all_data($programmsbcid, $weekbegin, true);
$style = '';
if ( $list )
{
    foreach ($list as $obj)
    {// создаем стиль для каждого дня
        $style .=  " .yui-skin-sam .yui-calendar .m".
        dof_userdate($obj->date,'%m')." td.d".
        dof_userdate($obj->date,'%d')." A{ color:red; }";
    }
}

// TODO в будущем вынести ЭТО в стили
// 1-стиль - ЦВЕТ активной недели(жёлтый)
// 2-стиль - ЦВЕТ дня, на который есть уроки(красный текст)
echo "
  <style type='text/css'>
  	.yui-skin-sam .yui-calendar tr.w".$numweek."  .calcell { background: #ffff35; }
  	{$style}    
 </style> ";      
    
//печать шапки страницы
$DOF->modlib('nvg')->print_header(NVG_MODE_PORTAL);

//проверка прав доступа';
$DOF->im('recordbook')->require_access('view_recordbook', $programmsbcid);
 
$DOF->modlib('widgets')->print_heading($DOF->modlib('ig')->igs('you_from_timezone',dof_usertimezone()));
 
// выводим календарь
echo '<div class="yui-skin-sam" id="calCon"></div>';
// подключаем настройки календаря
include('calendar.php');
//echo time();
// печатаем информацию об уроках, оценках, и посещаемости ученика за неделю
print($recordbook->get_all_data($programmsbcid, $weekbegin));

//печать подвала
$DOF->modlib('nvg')->print_footer(NVG_MODE_PORTAL);

?>